<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Starshatter_Open: D:/SRC/StarshatterSVN/Magic2/l3ds.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Starshatter_Open
   </div>
   <div id="projectbrief">Open source Starshatter engine</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('l3ds_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">l3ds.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="l3ds_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// copyright (c) 2001-2002 Lev Povalahev</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// this is a 3ds importer version 2</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#ifndef L3DS_H</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define L3DS_H</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// includes</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//---------------------------------------------------------</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">   13</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>;</div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="code" href="l3ds_8h.html#a0c8186d9b9b7880309c27230bbb5e69d">   14</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="l3ds_8h.html#a0c8186d9b9b7880309c27230bbb5e69d">byte</a>;</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"><a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941af2a43bcb2e22b6bb83dd39d865972480">   16</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941">LShading</a> {<a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941af2a43bcb2e22b6bb83dd39d865972480">sWireframe</a>, <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941acd272591bbde42f73e5dd336c85c9f47">sFlat</a>, <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941a9dfd1490d40a9615bed4898d04549d3b">sGouraud</a>, <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941a3ee8bd3a9f3d27c11997aac4dead4db5">sPhong</a>, <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941a248ebcdc38156b4b48e1cbc1d82d359a">sMetal</a>};</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957a177644ee2ced98852171462aca773a60">   18</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957">LOptimizationLevel</a> {<a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957a5062f7fe25162a4468728a2c7eac6c94">oNone</a>, <a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957a177644ee2ced98852171462aca773a60">oSimple</a>, <a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957a7df69f9963bd78ea90c8c4435b6c2f51">oFull</a>};</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// for internal use</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_chunk.html">LChunk</a>;</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_tri.html">LTri</a>;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="struct_l_vector4.html">   26</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_vector4.html">LVector4</a></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="struct_l_vector4.html#a08ce1e879fadb3313f51cc0142355463">   28</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector4.html#a08ce1e879fadb3313f51cc0142355463">x</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="struct_l_vector4.html#a6f726acdb2b3854d438b65e49466a740">   29</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector4.html#a6f726acdb2b3854d438b65e49466a740">y</a>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="struct_l_vector4.html#a8f5f05017a76bd1871a969dc91c77005">   30</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector4.html#a8f5f05017a76bd1871a969dc91c77005">z</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="struct_l_vector4.html#a8a631ccbf9c73644bc19c0820cd53f63">   31</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector4.html#a8a631ccbf9c73644bc19c0820cd53f63">w</a>;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="struct_l_vector4.html#a7a0a0077cee71160acfc02784d925e70">   33</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct_l_vector4.html#a7a0a0077cee71160acfc02784d925e70">operator==</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector4.html">LVector4</a>&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="struct_l_vector4.html#a08ce1e879fadb3313f51cc0142355463">x</a>==v.<a class="code" href="struct_l_vector4.html#a08ce1e879fadb3313f51cc0142355463">x</a> &amp;&amp; <a class="code" href="struct_l_vector4.html#a6f726acdb2b3854d438b65e49466a740">y</a>==v.<a class="code" href="struct_l_vector4.html#a6f726acdb2b3854d438b65e49466a740">y</a> &amp;&amp; <a class="code" href="struct_l_vector4.html#a8f5f05017a76bd1871a969dc91c77005">z</a>==v.<a class="code" href="struct_l_vector4.html#a8f5f05017a76bd1871a969dc91c77005">z</a> &amp;&amp; <a class="code" href="struct_l_vector4.html#a8a631ccbf9c73644bc19c0820cd53f63">w</a>==v.<a class="code" href="struct_l_vector4.html#a8a631ccbf9c73644bc19c0820cd53f63">w</a>; }</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="struct_l_vector3.html">   36</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_vector3.html">LVector3</a></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="struct_l_vector3.html#ac19e7e802e91769a9376055e5fd83695">   38</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector3.html#ac19e7e802e91769a9376055e5fd83695">x</a>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="struct_l_vector3.html#af1208a6df8d70a5509874ec6cf9d45cf">   39</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector3.html#af1208a6df8d70a5509874ec6cf9d45cf">y</a>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="struct_l_vector3.html#ac55ed911d61ef985372d08ab582d3d1a">   40</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector3.html#ac55ed911d61ef985372d08ab582d3d1a">z</a>;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="struct_l_vector3.html#a2e587c6f9f4bfc5e0590758d3d371791">   42</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct_l_vector3.html#a2e587c6f9f4bfc5e0590758d3d371791">operator==</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a>&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="struct_l_vector3.html#ac19e7e802e91769a9376055e5fd83695">x</a>==v.<a class="code" href="struct_l_vector3.html#ac19e7e802e91769a9376055e5fd83695">x</a> &amp;&amp; <a class="code" href="struct_l_vector3.html#af1208a6df8d70a5509874ec6cf9d45cf">y</a>==v.<a class="code" href="struct_l_vector3.html#af1208a6df8d70a5509874ec6cf9d45cf">y</a> &amp;&amp; <a class="code" href="struct_l_vector3.html#ac55ed911d61ef985372d08ab582d3d1a">z</a>==v.<a class="code" href="struct_l_vector3.html#ac55ed911d61ef985372d08ab582d3d1a">z</a>; }</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;};</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="struct_l_vector2.html">   45</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_vector2.html">LVector2</a></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;{</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="struct_l_vector2.html#ae63c59ae89279e9b4399288d2c87b52f">   47</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector2.html#ae63c59ae89279e9b4399288d2c87b52f">x</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="struct_l_vector2.html#aa6f1d5dea723c065657fdf61988f0eba">   48</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_vector2.html#aa6f1d5dea723c065657fdf61988f0eba">y</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="struct_l_vector2.html#ae8688e140d1b9bc2e3cf3a143841b3b9">   50</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct_l_vector2.html#ae8688e140d1b9bc2e3cf3a143841b3b9">operator==</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector2.html">LVector2</a>&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="struct_l_vector2.html#ae63c59ae89279e9b4399288d2c87b52f">x</a>==v.<a class="code" href="struct_l_vector2.html#ae63c59ae89279e9b4399288d2c87b52f">x</a> &amp;&amp; <a class="code" href="struct_l_vector2.html#aa6f1d5dea723c065657fdf61988f0eba">y</a>==v.<a class="code" href="struct_l_vector2.html#aa6f1d5dea723c065657fdf61988f0eba">y</a>; }</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;};</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="struct_l_color3.html">   53</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_color3.html">LColor3</a></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{   </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="struct_l_color3.html#a415a15800d03c89778c4b98f0b084c69">   55</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_color3.html#a415a15800d03c89778c4b98f0b084c69">r</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="struct_l_color3.html#ab7ff4d194fba06e8d1dc7c147846c359">   56</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_color3.html#ab7ff4d194fba06e8d1dc7c147846c359">g</a>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="struct_l_color3.html#a3fb82e89b7cbd3400969b0195a512943">   57</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_color3.html#a3fb82e89b7cbd3400969b0195a512943">b</a>;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="struct_l_color3.html#a492689dc7e35e626c2aaf54701294e6c">   59</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct_l_color3.html#a492689dc7e35e626c2aaf54701294e6c">operator==</a>(<span class="keyword">const</span> <a class="code" href="struct_l_color3.html">LColor3</a>&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="struct_l_color3.html#a415a15800d03c89778c4b98f0b084c69">r</a>==v.<a class="code" href="struct_l_color3.html#a415a15800d03c89778c4b98f0b084c69">r</a> &amp;&amp; <a class="code" href="struct_l_color3.html#ab7ff4d194fba06e8d1dc7c147846c359">g</a>==v.<a class="code" href="struct_l_color3.html#ab7ff4d194fba06e8d1dc7c147846c359">g</a> &amp;&amp; <a class="code" href="struct_l_color3.html#a3fb82e89b7cbd3400969b0195a512943">b</a>==v.<a class="code" href="struct_l_color3.html#a3fb82e89b7cbd3400969b0195a512943">b</a>; }</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;};</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="struct_l_triangle.html">   64</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_triangle.html">LTriangle</a></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="struct_l_triangle.html#a040846aec26d166e827ed855c0c589aa">   66</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="struct_l_triangle.html#a040846aec26d166e827ed855c0c589aa">a</a>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="struct_l_triangle.html#a800e3f4ad855c2f80b8ea409d518b68a">   67</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="struct_l_triangle.html#a800e3f4ad855c2f80b8ea409d518b68a">b</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="struct_l_triangle.html#ae3882bee0db4554c4148a66485b5c8d9">   68</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="struct_l_triangle.html#ae3882bee0db4554c4148a66485b5c8d9">c</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="struct_l_matrix4.html">   71</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_matrix4.html">LMatrix4</a></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="struct_l_matrix4.html#a0d7f1ab45c355fa45ba4bfd513ac3473">   73</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_matrix4.html#a0d7f1ab45c355fa45ba4bfd513ac3473">m</a>[4][4];</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;};</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="struct_l_triangle2.html">   76</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_triangle2.html">LTriangle2</a></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;{</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="struct_l_triangle2.html#afecb46219d1e39a0bed5f2afe3fe8754">   78</a></span>&#160;    <a class="code" href="struct_l_vector4.html">LVector4</a> <a class="code" href="struct_l_triangle2.html#afecb46219d1e39a0bed5f2afe3fe8754">vertices</a>[3];</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="struct_l_triangle2.html#a52cdf7a71872bf8ed84812338fe9d101">   79</a></span>&#160;    <a class="code" href="struct_l_vector3.html">LVector3</a> <a class="code" href="struct_l_triangle2.html#a52cdf7a71872bf8ed84812338fe9d101">vertexNormals</a>[3];</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="struct_l_triangle2.html#aa3fdc984438021a08dbef446f5cbe7f4">   80</a></span>&#160;    <a class="code" href="struct_l_vector2.html">LVector2</a> <a class="code" href="struct_l_triangle2.html#aa3fdc984438021a08dbef446f5cbe7f4">textureCoords</a>[3];</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="struct_l_triangle2.html#ab5b3b9d7b51c3dd8ef9f5a5371412502">   81</a></span>&#160;    <a class="code" href="struct_l_vector3.html">LVector3</a> <a class="code" href="struct_l_triangle2.html#ab5b3b9d7b51c3dd8ef9f5a5371412502">faceNormal</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="struct_l_triangle2.html#ace762a295497dcbebfde1ed141b2abc7">   82</a></span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="struct_l_triangle2.html#ace762a295497dcbebfde1ed141b2abc7">materialId</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;};</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">// a structure for a texture map</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="struct_l_map.html">   86</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_l_map.html">LMap</a></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;{</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="comment">// the strength of the texture map</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="struct_l_map.html#a295a26331916dfaa61f064a18c6a4c0e">   89</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_map.html#a295a26331916dfaa61f064a18c6a4c0e">strength</a>;</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">// the file name of the map. only 8.3 format in 3ds files :(</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="struct_l_map.html#a41ad00cdbecfae1af87e4416dd2f58c9">   91</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="struct_l_map.html#a41ad00cdbecfae1af87e4416dd2f58c9">mapName</a>[255];</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="struct_l_map.html#aecc141801c2a2123109dc2a554adb3c1">   92</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_map.html#aecc141801c2a2123109dc2a554adb3c1">uScale</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="struct_l_map.html#abd8d18623562f9a5227e2fca5cbbbd1f">   93</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_map.html#abd8d18623562f9a5227e2fca5cbbbd1f">vScale</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="struct_l_map.html#a9bfa8acfb684f94d2290d9d01cb2761f">   94</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_map.html#a9bfa8acfb684f94d2290d9d01cb2761f">uOffset</a>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="struct_l_map.html#a90c0eca541ec7e4a808b16b87572cd84">   95</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_map.html#a90c0eca541ec7e4a808b16b87572cd84">vOffset</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="struct_l_map.html#aa19b0e3841eb191c0fcaa4a19dcb3ff9">   96</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct_l_map.html#aa19b0e3841eb191c0fcaa4a19dcb3ff9">angle</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;};</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="class_l_object.html">  101</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_object.html">LObject</a></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;{</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">// the default constructor, initilializes the m_name here</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <a class="code" href="class_l_object.html#a5c6623c0a6f372a2d195f5339d91fc0a">LObject</a>();</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="comment">// the destructor frees memory (m_name)</span></div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_l_object.html#a765d4708f02ebd5d51e3566e19de5356">~LObject</a>();</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="comment">// call this to get the name of the object</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="class_l_object.html#a406795e8a3c032890fe792560317fccf">GetName</a>();</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="comment">// this methods should not be used by the &quot;user&quot;, they&#39;re used internally to fill the class</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment">// with valid data when reading from file. If you&#39;re about to add an importer for another format you&#39;LL</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="comment">// have to use these methods</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">// call this to set the name of the object</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_object.html#a97cdc1fd4bf86841e65be48893c5a521">SetName</a>(<span class="keyword">const</span> std::string&amp; value);</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="comment">// returns true if the object&#39;s name is the name passed as parameter</span></div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_l_object.html#a73b77f65335d7fb1857918ba648ea964">IsObject</a>(<span class="keyword">const</span> std::string &amp;<a class="code" href="class_l_object.html#a81a4880af70c07a56dd6e865b9007674">name</a>);</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="comment">// the name of the object</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="class_l_object.html#ac2cb1598cc1f734c5152a121f8c65e7c">  120</a></span>&#160;    std::string <a class="code" href="class_l_object.html#ac2cb1598cc1f734c5152a121f8c65e7c">m_name</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;};</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="class_l_material.html">  125</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_material.html">LMaterial</a> : <span class="keyword">public</span> <a class="code" href="class_l_object.html">LObject</a></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;{</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="comment">// the default constructor, does the initialization</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="class_l_material.html#a00a3a33e7e4a94e60e105d625b84f464">LMaterial</a>();</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="comment">// the destructor</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_l_material.html#af41e761770aecc4ed9260fe58a1a3ba1">~LMaterial</a>();</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="comment">// returns the material ID    </span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_material.html#a725ce6c71cc699702ca78fa41935f3ce">GetID</a>();</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="comment">// returns the pointer to teh texture map 1</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="struct_l_map.html">LMap</a>&amp; <a class="code" href="class_l_material.html#a0f277fa51a9d52a4668ed64d3e83a84a">GetTextureMap1</a>();</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="comment">// returns the pointer to the texture map 2</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <a class="code" href="struct_l_map.html">LMap</a>&amp; <a class="code" href="class_l_material.html#a439264561c6bbee367bca5ed2c716416">GetTextureMap2</a>();</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="comment">// returns the pointer to teh opacity map</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <a class="code" href="struct_l_map.html">LMap</a>&amp; <a class="code" href="class_l_material.html#aec696b8109973a0e64cc417e756ed949">GetOpacityMap</a>();</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="comment">// returns the pointer to the specular (gloss) map</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <a class="code" href="struct_l_map.html">LMap</a>&amp; <a class="code" href="class_l_material.html#a13cf51d93ff4e7fbd4cfb2f92e77cb7e">GetSpecularMap</a>();</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="comment">// returns the pointer to the bump map</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <a class="code" href="struct_l_map.html">LMap</a>&amp; <a class="code" href="class_l_material.html#ad36568dd16a4790889ad493d21108222">GetBumpMap</a>();</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="comment">// returns the pointer to the reflection map</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="struct_l_map.html">LMap</a>&amp; <a class="code" href="class_l_material.html#a2568ed49926734c547fa8cb28b886347">GetReflectionMap</a>();</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="comment">// returns the ambient color of the material</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_material.html#af3e515565f7b25925dac57f60dd1fb56">GetAmbientColor</a>();</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="comment">// returns the diffuse color of the material</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_material.html#a0cc17c4cc2733a70018b3befad1294c4">GetDiffuseColor</a>();</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="comment">// returns the specular color of the material</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_material.html#aa28080f18a5ecbcf63a126ba050a2b35">GetSpecularColor</a>();</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">// returns the shininess of the material, ranging from 0(matte) to 1(shiny)</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_material.html#a6edf2d26935adb18601d8e1154e1f4b2">GetShininess</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="comment">// returns the transparency of the material, ranging from 1(fully transparent) to 0(opaque)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_material.html#aba8a05a12bca8f664c701582f4a11be6">GetTransparency</a>();</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="comment">// returns the type of shading, see LShading type</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941">LShading</a> <a class="code" href="class_l_material.html#a142e8cb3d8028916239cd3da1e3b69de">GetShadingType</a>();</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="comment">// this methods should not be used by the &quot;user&quot;, they&#39;re used internally to fill the class</span></div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="comment">// with valid data when reading from file. If you&#39;re about to add an importer for another format you&#39;LL</span></div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="comment">// have to use these methods</span></div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">// sets the material ID to &quot;value&quot;</span></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#a61f7fcc7c4b6a3139d262d45dc833d88">SetID</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> value);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="comment">// call this to set the ambient color of the material</span></div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#a4fedfa3cf0bbb5e528bd41f5276d5269">SetAmbientColor</a>(<span class="keyword">const</span> <a class="code" href="struct_l_color3.html">LColor3</a> &amp;color);</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="comment">// sets the diffuse color of the material</span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#a483beefe1c1e5029d2d1ec62b4de40f1">SetDiffuseColor</a>(<span class="keyword">const</span> <a class="code" href="struct_l_color3.html">LColor3</a> &amp;color);</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    <span class="comment">// sets the specular color of the material</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#a427aff891a5a59c5a68d567b51a40512">SetSpecularColor</a>(<span class="keyword">const</span> <a class="code" href="struct_l_color3.html">LColor3</a> &amp;color);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="comment">// sets the shininess of the material</span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#aa4aca0dd262dacf076d6d5def713cf15">SetShininess</a>(<span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="comment">// sets the transparency of the material</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#acc4fbfb340abad530a818f0242b2069c">SetTransparency</a>(<span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="comment">// sets the shading type</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_material.html#aef75d13b946aa2083e2a8f1e5a8ea700">SetShadingType</a>(<a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941">LShading</a> <a class="code" href="class_l_material.html#aa303634d64a77aece7980552fab14fd9">shading</a>);</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="comment">// the unique material ID</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="class_l_material.html#a9a481ca373288ccf617846428bca382a">  178</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_l_material.html#a9a481ca373288ccf617846428bca382a">m_id</a>;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="comment">// the first texture map</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="code" href="class_l_material.html#a253370a2300c9e14451802fff95798f7">  180</a></span>&#160;    <a class="code" href="struct_l_map.html">LMap</a> <a class="code" href="class_l_material.html#a253370a2300c9e14451802fff95798f7">m_texMap1</a>;</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="comment">// the second texture map</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="code" href="class_l_material.html#a6e6ee96cff42e81ba787c71079f864d8">  182</a></span>&#160;    <a class="code" href="struct_l_map.html">LMap</a> <a class="code" href="class_l_material.html#a6e6ee96cff42e81ba787c71079f864d8">m_texMap2</a>;</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="comment">// the opacity map</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="class_l_material.html#a9ec76e6838635cc4a66dc2a016bacdc3">  184</a></span>&#160;    <a class="code" href="struct_l_map.html">LMap</a> <a class="code" href="class_l_material.html#a9ec76e6838635cc4a66dc2a016bacdc3">m_opacMap</a>;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="comment">// the reflection map</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="class_l_material.html#a07ca57dd7cfb7c86ba381211159feb9f">  186</a></span>&#160;    <a class="code" href="struct_l_map.html">LMap</a> <a class="code" href="class_l_material.html#a07ca57dd7cfb7c86ba381211159feb9f">m_reflMap</a>;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="comment">// the bump map</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="code" href="class_l_material.html#ae4bcec5c637d10066a55b64b6c1ca5fe">  188</a></span>&#160;    <a class="code" href="struct_l_map.html">LMap</a> <a class="code" href="class_l_material.html#ae4bcec5c637d10066a55b64b6c1ca5fe">m_bumpMap</a>;</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="comment">// specular map</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="class_l_material.html#a6532757793f9c6bbf147a2a8617b5df8">  190</a></span>&#160;    <a class="code" href="struct_l_map.html">LMap</a> <a class="code" href="class_l_material.html#a6532757793f9c6bbf147a2a8617b5df8">m_specMap</a>;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="comment">// material ambient color</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="class_l_material.html#a82c2bade7fb8e4e8bfc0976c3c4acadb">  192</a></span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_material.html#a82c2bade7fb8e4e8bfc0976c3c4acadb">m_ambient</a>;</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="comment">// material diffuse color</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="class_l_material.html#aab2a7e81c54218e360f75ce5b15d107e">  194</a></span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_material.html#aab2a7e81c54218e360f75ce5b15d107e">m_diffuse</a>;</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="comment">// material specular color</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="code" href="class_l_material.html#a65ef21304229d71225b756cd6465250c">  196</a></span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_material.html#a65ef21304229d71225b756cd6465250c">m_specular</a>;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="comment">// shininess</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="class_l_material.html#a38195dcc899afecb0d0aa571181044de">  198</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_material.html#a38195dcc899afecb0d0aa571181044de">m_shininess</a>;</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="comment">// transparency</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="code" href="class_l_material.html#a2f11c7f814858aab0d2e9372322f425d">  200</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_material.html#a2f11c7f814858aab0d2e9372322f425d">m_transparency</a>;</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">// the shading type for the material</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="class_l_material.html#aba1b2294467f723b79128e9bd4265638">  202</a></span>&#160;    <a class="code" href="l3ds_8h.html#acbcf7942df082345aa05bfd2625e0941">LShading</a> <a class="code" href="class_l_material.html#aba1b2294467f723b79128e9bd4265638">m_shading</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;};</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="class_l_mesh.html">  207</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_mesh.html">LMesh</a> : <span class="keyword">public</span> <a class="code" href="class_l_object.html">LObject</a></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;{</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="comment">// the default constructor</span></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <a class="code" href="class_l_mesh.html#aa18c059b6d38e60f4d7af8f8bc32ee34">LMesh</a>();</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <span class="comment">// the destructor</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_l_mesh.html#a0c07f358f80521f7fdb635f885d948cb">~LMesh</a>();</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="comment">// clears the mesh, deleteing all data</span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a7e2e6f482429c8f2722154178ad093cf">Clear</a>();</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="comment">// returns the number of vertices in the mesh</span></div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_mesh.html#afffa509eb708a87b0efbe9d3cad72ebd">GetVertexCount</a>();</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="comment">// sets the the size fo the vertex array - for internal use</span></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a3d4e2566b0bef1ab9aaab7167f026c86">SetVertexArraySize</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> value);</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="comment">// returns the number of triangles in the mesh</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_mesh.html#aa83a4c3e3a221c28fd9c3a554a996f4f">GetTriangleCount</a>();</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="comment">// sets the size of the triangle array - for internal use</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#afa83071668256f7ae9fee6bf0219337f">SetTriangleArraySize</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> value);</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="comment">// returns given vertex    </span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_l_vector4.html">LVector4</a>&amp; <a class="code" href="class_l_mesh.html#ab51b7ceff64f9354284f3da0d65d78f6">GetVertex</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="comment">// returns the given normal</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a>&amp; <a class="code" href="class_l_mesh.html#a535d95728d50deb1756342d8ef386bf5">GetNormal</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="comment">// returns the given texture coordinates vector</span></div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_l_vector2.html">LVector2</a>&amp; <a class="code" href="class_l_mesh.html#a5fd8f08b0dd11298ed6ad7f5f256a622">GetUV</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="comment">// returns the pointer to the array of tangents</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a>&amp; <a class="code" href="class_l_mesh.html#ae990548652c6b8026ce1382b2d41a333">GetTangent</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="comment">// returns the pointer to the array of binormals</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a>&amp; <a class="code" href="class_l_mesh.html#ac4d2cfe37589a7d6f1dcec96bffdc80a">GetBinormal</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="comment">// sets the vertex at a given index to &quot;vec&quot; - for internal use    </span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a408ed477d2d30cf086f36d68f72dc7ea">SetVertex</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector4.html">LVector4</a> &amp;vec, <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="comment">// sets the normal at a given index to &quot;vec&quot; - for internal use    </span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#ac2395d344637761170a2f186a31b8621">SetNormal</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a> &amp;vec, <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="comment">// sets the texture coordinates vector at a given index to &quot;vec&quot; - for internal use    </span></div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a2717525d9c963d3a740e077340e56dd9">SetUV</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector2.html">LVector2</a> &amp;vec, <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="comment">// sets the tangent at a given index to &quot;vec&quot; - for internal use    </span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a28297f6312463dfa4d60f51bdf04c5a9">SetTangent</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a> &amp;vec, <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="comment">// sets the binormal at a given index to &quot;vec&quot; - for internal use    </span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#af4a047d41277173b70f6c37d6a9a6457">SetBinormal</a>(<span class="keyword">const</span> <a class="code" href="struct_l_vector3.html">LVector3</a> &amp;vec, <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="comment">// returns the triangle with a given index</span></div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_l_triangle.html">LTriangle</a>&amp; <a class="code" href="class_l_mesh.html#a6ac8b7de54499a1c5e26b3beb4608e75">GetTriangle</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="comment">// returns the triangle with a given index, see LTriangle2 structure description</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <a class="code" href="struct_l_triangle2.html">LTriangle2</a> <a class="code" href="class_l_mesh.html#a8d5a156c9d35a0839221236444c7986d">GetTriangle2</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="comment">// returns the mesh matrix, should be identity matrix after loading    </span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <a class="code" href="struct_l_matrix4.html">LMatrix4</a> <a class="code" href="class_l_mesh.html#ac7ddb13d9f1694083e81ad13e79e2819">GetMatrix</a>();</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="comment">// sets the mesh matrix to a given matrix - for internal use</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#ac753ded16e3b377b031e900186664c58">SetMatrix</a>(<a class="code" href="struct_l_matrix4.html">LMatrix4</a> m);</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="comment">// optimizises the mesh using a given optimization level</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#aa390a22687f04d1d4cf0a3b7552f0a81">Optimize</a>(<a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957">LOptimizationLevel</a> value);</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="comment">// sets an internal triangle structure with index &quot;index&quot; - for internal use only</span></div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a2f88dcbfdfe88f926452ab40a7b66672">SetTri</a>(<span class="keyword">const</span> <a class="code" href="struct_l_tri.html">LTri</a> &amp;tri, <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="comment">// returns the pointer to the internal triangle structure - for internal use only</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <a class="code" href="struct_l_tri.html">LTri</a>&amp; <a class="code" href="class_l_mesh.html#af4b0169430b6aee8c450707bbbdecc96">GetTri</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="comment">// returns the material id with a given index for the mesh</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_mesh.html#ab6958e089f59f217ce2aab337ab196bb">GetMaterial</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="comment">// adds a material to the mesh and returns its index - for internal use</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_mesh.html#a2e46e16a4127fd4108edfb7bac5a7832">AddMaterial</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <span class="keywordtype">id</span>);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="comment">// returns the number of materials used in the mesh</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_mesh.html#a150b3f3683d10ee9a7a1375f29676cf2">GetMaterialCount</a>();</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="comment">// the vertices, normals, etc.</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="class_l_mesh.html#affcb86fc377c9f7700144a9a4b4fae17">  266</a></span>&#160;    std::vector&lt;LVector4&gt; <a class="code" href="class_l_mesh.html#affcb86fc377c9f7700144a9a4b4fae17">m_vertices</a>;</div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="code" href="class_l_mesh.html#a0e2f122a3e456a56ced0ce41e519f5d8">  267</a></span>&#160;    std::vector&lt;LVector3&gt; <a class="code" href="class_l_mesh.html#a0e2f122a3e456a56ced0ce41e519f5d8">m_normals</a>;</div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="class_l_mesh.html#ae020990ed39d166bc33640c5aaaff7fc">  268</a></span>&#160;    std::vector&lt;LVector3&gt; <a class="code" href="class_l_mesh.html#ae020990ed39d166bc33640c5aaaff7fc">m_binormals</a>;</div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="code" href="class_l_mesh.html#ac7c91e54fa149a8ea2898358a68c9554">  269</a></span>&#160;    std::vector&lt;LVector3&gt; <a class="code" href="class_l_mesh.html#ac7c91e54fa149a8ea2898358a68c9554">m_tangents</a>;</div>
<div class="line"><a name="l00270"></a><span class="lineno"><a class="code" href="class_l_mesh.html#a9c84e56fdc7eb7738b7fa21482315ff1">  270</a></span>&#160;    std::vector&lt;LVector2&gt; <a class="code" href="class_l_mesh.html#a9c84e56fdc7eb7738b7fa21482315ff1">m_uv</a>;</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    </div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="comment">// triangles</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="class_l_mesh.html#ada6de9ca3c4994a2d20ac703aecdfe94">  273</a></span>&#160;    std::vector&lt;LTriangle&gt; <a class="code" href="class_l_mesh.html#ada6de9ca3c4994a2d20ac703aecdfe94">m_triangles</a>;</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="comment">//used internally</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="code" href="class_l_mesh.html#a4714da3e8354eebdae3a4cc185044b33">  276</a></span>&#160;    std::vector&lt;LTri&gt; <a class="code" href="class_l_mesh.html#a4714da3e8354eebdae3a4cc185044b33">m_tris</a>;</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="comment">// the transformation matrix.</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="class_l_mesh.html#a082dd6b72ccc80889a35274be6403613">  279</a></span>&#160;    <a class="code" href="struct_l_matrix4.html">LMatrix4</a> <a class="code" href="class_l_mesh.html#a082dd6b72ccc80889a35274be6403613">m_matrix</a>;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="comment">// the material ID array</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="class_l_mesh.html#ade2b626aa181dad19cb13d65cd0a919d">  282</a></span>&#160;    std::vector&lt;uint&gt; <a class="code" href="class_l_mesh.html#ade2b626aa181dad19cb13d65cd0a919d">m_materials</a>;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="comment">// calculates the normals, either using the smoothing groups information or not</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#a9314951bef65e2120f1eaf752dbc90d4">CalcNormals</a>(<span class="keywordtype">bool</span> useSmoothingGroups);</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">// calculates the texture(tangent) space for each vertex</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#ad958c62131c309a5fdc01155bcdac844">CalcTextureSpace</a>();</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="comment">// transforms the vertices by the mesh matrix</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_mesh.html#aed810f51167414e94e0081dd10f8a897">TransformVertices</a>();</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;};</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="code" href="class_l_light.html">  294</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_light.html">LLight</a> : <span class="keyword">public</span> <a class="code" href="class_l_object.html">LObject</a></div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;{</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="comment">// the default constructor</span></div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <a class="code" href="class_l_light.html#ac752629f911388b908a063021f4a4eec">LLight</a>();</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="comment">// the destructor</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_l_light.html#aa93d049e2e461627df3045e3526c0d05">~LLight</a>();</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="comment">// clears the data the class holds    </span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#a4fa1118d3053446dd27d2741569045b7">Clear</a>();</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="comment">// sets the position of the light source - for internal use</span></div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#a8f73249248bb46c6127b4d2409f5723a">SetPosition</a>(<a class="code" href="struct_l_vector3.html">LVector3</a> vec);</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="comment">// returns the position of the light source</span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <a class="code" href="struct_l_vector3.html">LVector3</a> <a class="code" href="class_l_light.html#a4b49e4b21357d01e5823609a2cda4e3d">GetPosition</a>();</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <span class="comment">// sets the color of the light - for internal use</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#a1b95906a6c50ff371a616bfbbbd0f800">SetColor</a>(<a class="code" href="struct_l_color3.html">LColor3</a> color);</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="comment">// returns the color of the light</span></div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_light.html#a5ddb5db073e4dcd71dab764c00dd9312">GetColor</a>();</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="comment">// sets whether the light is a spotlight or not - internal use</span></div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#a374d180367f3fde9f9f4ac9a4c85b3ef">SetSpotlight</a>(<span class="keywordtype">bool</span> value);</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="comment">// returns true if the light is a spotlight</span></div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_l_light.html#a4e75a792d0b84ba00c412c6476c10604">GetSpotlight</a>();</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="comment">// sets the target of the light - internal use</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#ac71c07dbaa1effc28c6f8f1f31d70d06">SetTarget</a>(<a class="code" href="struct_l_vector3.html">LVector3</a> target);</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="comment">// returns the target of the spotlight</span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <a class="code" href="struct_l_vector3.html">LVector3</a> <a class="code" href="class_l_light.html#a801693960b3b5235663bf932f2ce5932">GetTarget</a>();</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <span class="comment">// sets the hotspot - internal use    </span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#a6e07a52524f0271a0b628d17603e88fa">SetHotspot</a>(<span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="comment">// returns the hotspot</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_light.html#a84424a3141e97901e43a68caa265b685">GetHotspot</a>();</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="comment">// sets falloff - internal use</span></div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_light.html#aa8ef11451076e532ad29e79b115049af">SetFalloff</a>(<span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="comment">// returns falloff</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_light.html#a0c93582d3f810fa992e5a74acb432c5b">GetFalloff</a>();</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00328"></a><span class="lineno"><a class="code" href="class_l_light.html#ad9ea8d2e0cd8d0718e96ed751cb97071">  328</a></span>&#160;    <a class="code" href="struct_l_vector3.html">LVector3</a> <a class="code" href="class_l_light.html#ad9ea8d2e0cd8d0718e96ed751cb97071">m_pos</a>;</div>
<div class="line"><a name="l00329"></a><span class="lineno"><a class="code" href="class_l_light.html#a4a0f6acb8a172b699bc6e93d9f86812d">  329</a></span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l_light.html#a4a0f6acb8a172b699bc6e93d9f86812d">m_color</a>;</div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="code" href="class_l_light.html#a7694d349b9cac75c29b652844af5691d">  330</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_l_light.html#a7694d349b9cac75c29b652844af5691d">m_spotlight</a>;</div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="code" href="class_l_light.html#a5589520cbd8d97102a4a4d73080cc749">  331</a></span>&#160;    <a class="code" href="struct_l_vector3.html">LVector3</a> <a class="code" href="class_l_light.html#a5589520cbd8d97102a4a4d73080cc749">m_target</a>;</div>
<div class="line"><a name="l00332"></a><span class="lineno"><a class="code" href="class_l_light.html#aa81bc63ca53a57800fdacfb474730e02">  332</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_light.html#aa81bc63ca53a57800fdacfb474730e02">m_hotspot</a>;</div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="code" href="class_l_light.html#aa27fabf5b2e2ed357fa6696ec540738c">  333</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l_light.html#aa27fabf5b2e2ed357fa6696ec540738c">m_falloff</a>;</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;};</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
<div class="line"><a name="l00338"></a><span class="lineno"><a class="code" href="class_l_importer.html">  338</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_importer.html">LImporter</a></div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;{</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <span class="comment">// the default constructor</span></div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <a class="code" href="class_l_importer.html#a07ff432a17ef79378999d9eda1e5bac7">LImporter</a>();</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="comment">// the destructor</span></div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_l_importer.html#ae1934020b9e805314fb224d428a51f13">~LImporter</a>();</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <span class="comment">// reads the model from a file, must be overriden by the child classes</span></div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_l_importer.html#adfb32714d600ac289b64bffd42034139">LoadFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename) = 0;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="comment">// returns the number of meshes in the scene</span></div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_importer.html#a74e4386c3fc47b3fb6fc85f64d3d3d14">GetMeshCount</a>();</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="comment">// returns the number of lights in the scene</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_importer.html#a079f340dfb36f4f5c39e4e8a32dd97ea">GetLightCount</a>();</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="comment">// returns the number of materials in the scene</span></div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l_importer.html#ac7ece6fa0c9d134d26ffde31e5645df7">GetMaterialCount</a>();</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="comment">// returns a pointer to a mesh</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <a class="code" href="class_l_mesh.html">LMesh</a>&amp; <a class="code" href="class_l_importer.html#a106a15f3d50e6c2ebd84809c83baa699">GetMesh</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="comment">// returns a pointer to a light at a given index</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <a class="code" href="class_l_light.html">LLight</a>&amp; <a class="code" href="class_l_importer.html#a0dd08bd876d6711e541544c8f73b0ed7">GetLight</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="comment">// returns the pointer to the material</span></div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <a class="code" href="class_l_material.html">LMaterial</a>&amp; <a class="code" href="class_l_importer.html#aadfa0f5e616041bae466e72c639c300f">GetMaterial</a>(<a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> index);</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="comment">// returns the pointer to the material with a given name, or NULL if the material was not found</span></div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <a class="code" href="class_l_material.html">LMaterial</a>* <a class="code" href="class_l_importer.html#a25546ca9b1e1c87425ed074529495001">FindMaterial</a>(<span class="keyword">const</span> std::string &amp;name);</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="comment">// returns the pointer to the mesh with a given name, or NULL if the mesh with such name </span></div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="comment">// is not present in the scene</span></div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <a class="code" href="class_l_mesh.html">LMesh</a>* <a class="code" href="class_l_importer.html#a092ad8617396f5931794bf5a137fb84e">FindMesh</a>(<span class="keyword">const</span> std::string &amp;name);</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="comment">// returns the pointer to the light with a given name, or NULL if not found</span></div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <a class="code" href="class_l_light.html">LLight</a>* <a class="code" href="class_l_importer.html#ac844ee026b3a5389353479285e701769">FindLight</a>(<span class="keyword">const</span> std::string &amp;name);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="comment">// sets the optimization level to a given value</span></div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l_importer.html#af22fcdd3d8f125f6aac81c092866c068">SetOptimizationLevel</a>(<a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957">LOptimizationLevel</a> value);</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="comment">// returns the current optimization level</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957">LOptimizationLevel</a> <a class="code" href="class_l_importer.html#ab24790d3ea8e6d308f74888d2ee127a9">GetOptimizationLevel</a>();</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="comment">// the lights found in the scene</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="class_l_importer.html#a878942e36b805d81434dee12f7561117">  372</a></span>&#160;    std::vector&lt;LLight&gt; <a class="code" href="class_l_importer.html#a878942e36b805d81434dee12f7561117">m_lights</a>;</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="comment">// triangular meshes</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="code" href="class_l_importer.html#a4592c7ddc3938da968cad986fe78eb95">  374</a></span>&#160;    std::vector&lt;LMesh&gt; <a class="code" href="class_l_importer.html#a4592c7ddc3938da968cad986fe78eb95">m_meshes</a>;</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="comment">// the materials in the scene</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="class_l_importer.html#a9df93e0433932e66ef7cd09eab3cd867">  376</a></span>&#160;    std::vector&lt;LMaterial&gt; <a class="code" href="class_l_importer.html#a9df93e0433932e66ef7cd09eab3cd867">m_materials</a>;</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">// level of optimization to perform on the meshes</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"><a class="code" href="class_l_importer.html#a1e6e72ccff607ff67f4747062d6e5b5b">  378</a></span>&#160;    <a class="code" href="l3ds_8h.html#a756d882d7c090e8fdc009969d3adf957">LOptimizationLevel</a> <a class="code" href="class_l_importer.html#a1e6e72ccff607ff67f4747062d6e5b5b">m_optLevel</a>;</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="comment">// clears all data.</span></div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_importer.html#a3956346e472f5fa6f5d4d02c1e75a600">Clear</a>();</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;};</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="comment">//------------------------------------------------</span></div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div>
<div class="line"><a name="l00384"></a><span class="lineno"><a class="code" href="class_l3_d_s.html">  384</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l3_d_s.html">L3DS</a> : <span class="keyword">public</span> <a class="code" href="class_l_importer.html">LImporter</a></div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;{</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <span class="comment">// the default contructor</span></div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <a class="code" href="class_l3_d_s.html#a34f39639125fd3b6be482e8d57ca9974">L3DS</a>();</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="comment">// constructs the object and loads the file</span></div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <a class="code" href="class_l3_d_s.html#a34f39639125fd3b6be482e8d57ca9974">L3DS</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="comment">// destructor</span></div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_l3_d_s.html#ae7c18053973bf7ebe8696faef6f2ff29">~L3DS</a>();</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="comment">// load 3ds file </span></div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_l3_d_s.html#a5838071f8859c97b095dd86fb17b905c">LoadFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;    <span class="comment">// used internally for reading</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"><a class="code" href="class_l3_d_s.html#a3bc4a609846a21de4f95786216bc450d">  397</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="class_l3_d_s.html#a3bc4a609846a21de4f95786216bc450d">m_objName</a>[100];</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <span class="comment">// true if end of file is reached</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="code" href="class_l3_d_s.html#a3a3b6dadc6e5b9af35e266c06ba74187">  399</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_l3_d_s.html#a3a3b6dadc6e5b9af35e266c06ba74187">m_eof</a>;</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <span class="comment">// buffer for loading, used for speedup</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="class_l3_d_s.html#a1f84582670b64ebeb689b5a37e3f5f61">  401</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="class_l3_d_s.html#a1f84582670b64ebeb689b5a37e3f5f61">m_buffer</a>;</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="comment">// the size of the buffer</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"><a class="code" href="class_l3_d_s.html#a3dbd2b6191c0c763fdba3b69dc17aabb">  403</a></span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l3_d_s.html#a3dbd2b6191c0c763fdba3b69dc17aabb">m_bufferSize</a>;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <span class="comment">// the current cursor position in the buffer</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"><a class="code" href="class_l3_d_s.html#a59c08807e3a196986807033a0767fd9e">  405</a></span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l3_d_s.html#a59c08807e3a196986807033a0767fd9e">m_pos</a>;</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="comment">// reads a short value from the buffer</span></div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="keywordtype">short</span> <a class="code" href="class_l3_d_s.html#ac0c91f5c0aba3258bfd3b1c4cfd426c9">ReadShort</a>();</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    <span class="comment">// reads an int value from the buffer</span></div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_l3_d_s.html#a3d07ad422edd63dbfa28833fe67a1a94">ReadInt</a>();</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="comment">// reads a char from the buffer</span></div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keywordtype">char</span> <a class="code" href="class_l3_d_s.html#a52a8fdadccfe064f78ec6c3fe0006c00">ReadChar</a>();</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <span class="comment">//reada a floatvalue from the buffer</span></div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l3_d_s.html#a5d1a756bc4dacac84f87393efcf66a63">ReadFloat</a>();</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="comment">//reads an unsigned byte from the buffer</span></div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <a class="code" href="l3ds_8h.html#a0c8186d9b9b7880309c27230bbb5e69d">byte</a> <a class="code" href="class_l3_d_s.html#a67cc402bc8e8df04f8a90026d3b2c896">ReadByte</a>();</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="comment">//reads an asciiz string </span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_l3_d_s.html#a38eab7b0d084ece005cdcc7f649f069c">ReadASCIIZ</a>(<span class="keywordtype">char</span> *buf, <span class="keywordtype">int</span> max_count);</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="comment">// seek wihtin the buffer</span></div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a46326d115576c2fafbd74b188408ea11">Seek</a>(<span class="keywordtype">int</span> offset, <span class="keywordtype">int</span> origin);</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="comment">// returns the position of the cursor</span></div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    <a class="code" href="l3ds_8h.html#a91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="class_l3_d_s.html#ad8e5b91ac1d71939f3ab0fa78c1a90b3">Pos</a>();</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="comment">// read the chunk and return it.</span></div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <a class="code" href="struct_l_chunk.html">LChunk</a> <a class="code" href="class_l3_d_s.html#ab2d3e7abaf201a3878c3cd69f626b092">ReadChunk</a>();</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="comment">// read until given chunk is found</span></div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_l3_d_s.html#ae3da5f855e92808270814fe3a4ca8d13">FindChunk</a>(<a class="code" href="struct_l_chunk.html">LChunk</a> &amp;target, <span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;parent);</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="comment">// skip to the end of chunk &quot;chunk&quot;</span></div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a13d1e28ef48ebc78a51d5bca5f032557">SkipChunk</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;chunk);</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="comment">// goes to the beginning of the data in teh given chunk</span></div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a810d93692c81f19cf3751f238222144c">GotoChunk</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;chunk);</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="comment">// the function read the color chunk (any of the color chunks)</span></div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <a class="code" href="struct_l_color3.html">LColor3</a> <a class="code" href="class_l3_d_s.html#aa5efb851de74d41caf5e8ad7f396e851">ReadColor</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;chunk);</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <span class="comment">// the function that read the percentage chunk and returns a float from 0 to 1</span></div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_l3_d_s.html#a2cbe40baff18b7f0cdcfef9e2e8d076e">ReadPercentage</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;chunk);</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="comment">// this is where 3ds file is being read</span></div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_l3_d_s.html#a9fa939c6098b3569870e4dc991502a2b">Read3DS</a>();</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="comment">// read a light chunk </span></div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#ab8815e3de849f13d21fbe3614355d334">ReadLight</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;parent);</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="comment">// read a trimesh chunk</span></div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#af3c80ddd52f43330ce928f21834e276e">ReadMesh</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;parent);</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="comment">// reads the face list, face materials, smoothing groups... and fill rthe information into the mesh</span></div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a0d223328015dd133e7a888a4db066f2a">ReadFaceList</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;chunk, <a class="code" href="class_l_mesh.html">LMesh</a> &amp;mesh);</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="comment">// reads the material</span></div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a24f42d8bc4ca7da6b67e537b1028531e">ReadMaterial</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;parent);</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="comment">// reads the map info and fills the given map with this information</span></div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a3bae1e78bc33f00e2088ccdffea56843">ReadMap</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;chunk, <a class="code" href="struct_l_map.html">LMap</a>&amp; map);</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <span class="comment">// reads keyframer data of the OBJECT_NODE_TAG chunk</span></div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_l3_d_s.html#a0f99fea7e0c1e84c46eaa978dcab51bb">ReadKeyframeData</a>(<span class="keyword">const</span> <a class="code" href="struct_l_chunk.html">LChunk</a> &amp;parent);</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="comment">// reads the keyheader structure from the current offset and returns the frame number</span></div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    <span class="keywordtype">long</span> <a class="code" href="class_l3_d_s.html#a0e80a2fc77f722f3fa4b8acc22b4996b">ReadKeyheader</a>();</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;};</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="comment">//---------------------------------------------------------</span></div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_443b34fb483e2112d6c31a6ad3da1196.html">Magic2</a></li><li class="navelem"><a class="el" href="l3ds_8h.html">l3ds.h</a></li>
    <li class="footer">Generated on Tue Jun 5 2012 20:46:15 for Starshatter_Open by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li>
  </ul>
</div>
</body>
</html>
